package at.ac.tuwien.ifs.calendit.basis.gui;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

import at.ac.tuwien.ifs.calendit.basis.helper.Constants;
import at.ac.tuwien.ifs.calendit.dao.IMitarbeiter;
import at.ac.tuwien.ifs.calendit.domain.Mitarbeiter;

public class PasswortAendernTableModel {
	private static Log log = LogFactory.getLog(LoginTableModel.class);
	private IMitarbeiter ma;

	/**
	 * The to-be-edited Mitarbeiter.
	 */

	/**
	 * The XML Bean Factory from Spring.
	 */
	private XmlBeanFactory xbf;
	
	public PasswortAendernTableModel(){
		ClassPathResource res = new ClassPathResource(Constants.SPRINGBEANS);
		xbf = new XmlBeanFactory(res);
		ma = (IMitarbeiter) xbf.getBean("MitarbeiterDAO");
	}
	
	public boolean updatePW(String newPW, int id){
		log.info("updating PW of MA");
		boolean correct = ma.updatePW(newPW, id);
		return correct;
	}
	
	public String getPW(int id){
		log.info("getting old PW of MA");
		String pw = ma.getPW(id);
		return pw;
	}
	
	public String getName(int id){
		log.info("getting name of MA");
		Mitarbeiter mitarb = ma.getMitarbeiterById(id); 
		
		//sollte eigentlich nicht sein, da man ja gerade eingeloggt ist!
		if (mitarb == null) return "ma.getById did not find anything!";
		String name = mitarb.getVname()+" "+mitarb.getNname()+" - ID: #"+id+"";
		return name;
	}
}
